//
//  Primer_Keyword_TableVC.swift
//  APSwift
//
//  Created by AbnerPei on 2021/11/8.
//

import UIKit

class Primer_Keyword_TableVC: UIViewController {
    
    lazy var tableView: UITableView = {
        let tableV = UITableView(frame: view.bounds, style: .plain)
        tableV.delegate = self
        tableV.dataSource = self
        tableV.register(UITableViewCell.self, forCellReuseIdentifier: "cell")
        return tableV
    }()
    
    var cellTitles = [String]()
    var cellVCNames = [UIViewController]()
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        view.backgroundColor = .white
        
        configDatas()
        view.addSubview(tableView)
    }
    
    func configDatas() {
        cellTitles = [
            "柯里化（Currying）",
            "nonmutating",
            "associatedtype"
        ]
        
        cellVCNames = [
            Currying_VC(),
            Keyword_nonmutating_DemoVC(),
            Primer_associatedtype_Demo1VC()
        ]
    }
    
}

extension Primer_Keyword_TableVC: UITableViewDataSource, UITableViewDelegate {
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return cellTitles.count
    }
    
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
        cell.textLabel?.text = cellTitles[indexPath.row]
        return cell
    }
    
    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
        return 60
    }
    
    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        tableView.deselectRow(at: indexPath, animated: true)
        let vc = cellVCNames[indexPath.row]
        vc.view.backgroundColor = .white
        vc.title = cellTitles[indexPath.row]
        navigationController?.pushViewController(vc, animated: true)
    }
}
